package com.leha.core.services;

import cn.binarywang.wx.miniapp.api.WxMaService;
import com.leha.core.entity.mybatis.LhRewardItem;
import com.leha.core.entity.vo.*;

import java.util.List;

public interface GameServices {
    WxMaService getGameServices(Integer gameId);

    GameResVo addGameRecord(Integer gameId, Integer uid, Integer osUid, Integer score, Integer osScore, Integer winner);
    UserRankAndRankList getDailyRank(Integer gameId, Integer limit, Integer uid);
    UserRankAndRankList getWeeklyRank(Integer gameId, Integer limit, Integer uid);

    UserInfoAndRank userDailyRank(Integer gameId,Integer uid);
    UserInfoAndRank userWeeklyRank(Integer gameId,Integer uid);

    Boolean removePreWeekRank();

    void Reload();

    List<UserRewardsVO> getGameRewards(Integer gameId);
    List<LhRewardItem> getRewardItem(Integer gameId);
    List<UserRewardsVO> getMyRewards(Integer gameId, Integer userId, Integer pageNum, Integer pageSize);

    Integer userShare(Integer gameId, Integer uid, String sessionKey, String encryptedData, String iv);

    Boolean userExchange(Integer gameId, Integer uid, Integer recId, Integer itemId, String name, String phone, String address, String email);

    LhRewardItem SaveItems(LhRewardItem items);

    List<LhRewardItem> getItems(Integer pgNum, Integer pgSize);

    UserRankAndRankList getTimesRank(Integer gameId, int limit, Integer uid);
    UserRankAndRankList getRewardsRank(Integer gameId, int limit, Integer uid);

    LhRewardItem getItemById(Integer itemId);
}
